/***************************************************************************
 创建者：          hualei
 开始时间：      2018.09.10
 copyright:(C)    深圳市华友高科有限公司
 修改说明：（每次有修改就添加一条，带有 修改人，修改时间，修改描述）

 ***************************************************************************
 *   MODBUS_FREE 自由导航指令运行精度属性编辑视窗类
 *
 ***************************************************************************/
#ifndef MOVEFREEMOVETYPEVIEW_H
#define MOVEFREEMOVETYPEVIEW_H

#include <QDialog>
#include <QTranslator>
#include "instructionEnum.h"

class ProgramView;
class MoveFreeInstructionView;
namespace Ui {
class MoveFreeMoveTypeView;
}

///**
// * @brief The EM_MOVE_FREE_MOVE_TRAJECTORY_TYPE enum    运行轨迹类型
// */
//enum EM_MOVE_FREE_MOVE_TRAJECTORY_TYPE
//{
//    E_MOVE_FREE_MOVE_TRAJECTORY_AUTO,       // 自动轨迹规划
//    E_MOVE_FREE_MOVE_TRAJECTPRY_LINE,       // 直线轨迹运行
//    E_MOVE_FREE_MOVE_TRAJECTORY_SPLINE      // 样条轨迹运行

//};

class MoveFreeMoveTypeView : public QDialog
{
    Q_OBJECT

public:
    explicit MoveFreeMoveTypeView(int styleId,QDialog *parent = 0);

    void getInput();

    void updateView();

    void changeLanguage();

    void initialDisplayStyle(int styleId);

public:

    /**
     * @brief ProgramView
     */
    ProgramView *programView;

    /**
     * @brief moveFreeInstructionView
     */
    MoveFreeInstructionView *moveFreeInstructionView;

    /**
     * @brief cntValue              CNT平滑数值
     */
    int cntValue;

    /**
     * @brief moveFreeMoveTrajectoryType    运行轨迹类型
     */
    ENUM_MOVE_FREE_MOVE_TRAJECTORY_TYPE moveFreeMoveTrajectoryType;

    /**
     * @brief allowAccuracy             停车精度，单位米
     */
    float allowAccuracy;

    /**
     * @brief detectBarrierState  障碍物检测。
     */
    int detectBarrierState;
    int barrierRunMode;//探测方法
//    /**
//     * @brief validLaserRange_moving    运行过程的匹配范围,单位米
//     */
//    float validLaserRange_moving;

//    /**
//     * @brief validLaserRange_stopping  停车时的匹配范围,单位米。
//     */
//    float validLaserRange_stopping;

private slots:

    /**
     * @brief on_ConfirmBtn_clicked     点击确认按钮响应槽函数
     */
    void on_ConfirmBtn_clicked();

    /**
     * @brief on_cancel_Btn_clicked     点击取消按钮响应槽函数
     */
    void on_cancel_Btn_clicked();

    /**
     * @brief on_CNT_CBox_currentIndexChanged   CNT下拉选择时响应槽函数
     * @param arg1
     */
    void on_CNT_CBox_currentIndexChanged(const QString &arg1);

private:

    Ui::MoveFreeMoveTypeView *ui;

    QTranslator translator;
};

#endif // MOVEFREEMOVETYPEVIEW_H
